package top.kaoshanji.p4ch26c;

/**
 * 代码清单-p4ch26c-338页a：关闭状态
 * @author kaoshanji
 * ^_^
 * create time 2025/3/27 17:15
 */
public class ClosingState extends LiftState {

    // 电梯门关了再打开
    @Override
    public void open() {
        super.context.setLiftState(Context.openingState); // 置为敞门状态
        super.context.getLiftState().open();
    }

    // 电梯门关闭，这是关闭状态要实现的动作
    @Override
    public void close() {
        System.out.println("电梯门关闭...");
    }

    // 电梯门关了就运行，这是再正常不过了
    @Override
    public void run() {
        super.context.setLiftState(Context.runningState); // 设置为运行状态
        super.context.getLiftState().run();
    }

    // 电梯门关着，我就不按楼层
    @Override
    public void stop() {
        super.context.setLiftState(Context.stoppingState); // 设置为停止状态
        super.context.getLiftState().stop();
    }

}
